// var lemonadeChange = function(bills) {
//     let m = 0;
//     let n = 0;
//     if(bills[0]!=5) return false
//     for(let i = 0; i < bills.length; i++)  {
//         if(bills[i]==5) {
//            ++m;
//         }
//        else if(bills[i]==10) {
//             ++n;
//             --m;
//             if(m<0) 
//             return false
//         }
//         else {  

//              if(m>=1 && n>=1)
//             {
//                 m = m-1;
//                 n = n-1;
//             }
//             else if(m>=3) 
//             m = m-3;
//             else {
//                 return false
//             }
//         }
      
//     }
//     return true;
// };

var lemonadeChange = function(bills) {
    let fiveCount = 0
    let tenCount = 0

    for(let i = 0; i < bills.length; i++) {
        let bill = bills[i]
        if(bill === 5) {
            fiveCount += 1
        } else if (bill === 10) {
            if(fiveCount > 0) {
                fiveCount -=1
                tenCount += 1
            } else {
                return false
            }
        } else {
            if(tenCount > 0 && fiveCount > 0) {
                tenCount -= 1
                fiveCount -= 1 
            } else if(fiveCount >= 3) {
                fiveCount -= 3
            } else {
                return false
            }
        } 
    }
    return true
};
console.log(lemonadeChange([5,5,10,10,20]))